package com.ruoyi.pom.domain;

import java.util.List;
import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.ruoyi.common.annotation.Excel;
import com.ruoyi.common.core.domain.BaseEntity;

/**
 * review对象 pom_ebbinghaus_review
 * 
 * @author ruoyi
 * @date 2025-01-10
 */
public class PomEbbinghausReview extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** 主键，唯一标识每个复习计划 */
    private Long id;

    /** 类型：基础知识、进阶篇 */
    @Excel(name = "类型：基础知识、进阶篇")
    private String type;

    /** 任务id（城池id） */
    @Excel(name = "任务id", readConverterExp = "城=池id")
    private Long tasksId;

    /** 用户ID，标识哪个用户的学习计划 */
    @Excel(name = "用户ID，标识哪个用户的学习计划")
    private Long userId;

    /** 学习内容的描述 */
    @Excel(name = "学习内容的描述")
    private String content;

    /** 初次学习的时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "初次学习的时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date initialStudyTime;

    /** 第一次复习的时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "第一次复习的时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date reviewTime1;

    /** 第二次复习的时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "第二次复习的时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date reviewTime2;

    /** 第三次复习的时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "第三次复习的时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date reviewTime3;

    /** 第四次复习的时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "第四次复习的时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date reviewTime4;

    /** 第五次复习的时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "第五次复习的时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date reviewTime5;

    /** 复习计划的创建时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "复习计划的创建时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date createdAt;

    /** 复习计划的更新时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "复习计划的更新时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date updatedAt;

    /** 删除标记 */
    private String delFlag;

    /** recall信息 */
    private List<PomRecallTasks> pomRecallTasksList;

    public void setId(Long id) 
    {
        this.id = id;
    }

    public Long getId() 
    {
        return id;
    }
    public void setType(String type) 
    {
        this.type = type;
    }

    public String getType() 
    {
        return type;
    }
    public void setTasksId(Long tasksId) 
    {
        this.tasksId = tasksId;
    }

    public Long getTasksId() 
    {
        return tasksId;
    }
    public void setUserId(Long userId) 
    {
        this.userId = userId;
    }

    public Long getUserId() 
    {
        return userId;
    }
    public void setContent(String content) 
    {
        this.content = content;
    }

    public String getContent() 
    {
        return content;
    }
    public void setInitialStudyTime(Date initialStudyTime) 
    {
        this.initialStudyTime = initialStudyTime;
    }

    public Date getInitialStudyTime() 
    {
        return initialStudyTime;
    }
    public void setReviewTime1(Date reviewTime1) 
    {
        this.reviewTime1 = reviewTime1;
    }

    public Date getReviewTime1() 
    {
        return reviewTime1;
    }
    public void setReviewTime2(Date reviewTime2) 
    {
        this.reviewTime2 = reviewTime2;
    }

    public Date getReviewTime2() 
    {
        return reviewTime2;
    }
    public void setReviewTime3(Date reviewTime3) 
    {
        this.reviewTime3 = reviewTime3;
    }

    public Date getReviewTime3() 
    {
        return reviewTime3;
    }
    public void setReviewTime4(Date reviewTime4) 
    {
        this.reviewTime4 = reviewTime4;
    }

    public Date getReviewTime4() 
    {
        return reviewTime4;
    }
    public void setReviewTime5(Date reviewTime5) 
    {
        this.reviewTime5 = reviewTime5;
    }

    public Date getReviewTime5() 
    {
        return reviewTime5;
    }
    public void setCreatedAt(Date createdAt) 
    {
        this.createdAt = createdAt;
    }

    public Date getCreatedAt() 
    {
        return createdAt;
    }
    public void setUpdatedAt(Date updatedAt) 
    {
        this.updatedAt = updatedAt;
    }

    public Date getUpdatedAt() 
    {
        return updatedAt;
    }
    public void setDelFlag(String delFlag) 
    {
        this.delFlag = delFlag;
    }

    public String getDelFlag() 
    {
        return delFlag;
    }

    public List<PomRecallTasks> getPomRecallTasksList()
    {
        return pomRecallTasksList;
    }

    public void setPomRecallTasksList(List<PomRecallTasks> pomRecallTasksList)
    {
        this.pomRecallTasksList = pomRecallTasksList;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("id", getId())
            .append("type", getType())
            .append("tasksId", getTasksId())
            .append("userId", getUserId())
            .append("content", getContent())
            .append("initialStudyTime", getInitialStudyTime())
            .append("reviewTime1", getReviewTime1())
            .append("reviewTime2", getReviewTime2())
            .append("reviewTime3", getReviewTime3())
            .append("reviewTime4", getReviewTime4())
            .append("reviewTime5", getReviewTime5())
            .append("createdAt", getCreatedAt())
            .append("updatedAt", getUpdatedAt())
            .append("createBy", getCreateBy())
            .append("createTime", getCreateTime())
            .append("updateBy", getUpdateBy())
            .append("updateTime", getUpdateTime())
            .append("delFlag", getDelFlag())
            .append("remark", getRemark())
            .append("pomRecallTasksList", getPomRecallTasksList())
            .toString();
    }
}
